//package com.gitlab.lucky.common.proxy;
//
//import cn.hutool.http.HttpUtil;
//import com.gitlab.lucky.common.dao.model.ConfigData;
//import com.gitlab.lucky.common.enums.Constant;
//import com.gitlab.lucky.common.service.ConfigDataService;
//import com.gitlab.lucky.common.redis.RedisService;
//import org.apache.commons.lang3.StringUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * @program: lucky
// * @author: Mr.Han
// * @create: 2018-12-17 13:35
// **/
//@Component
//public class GetProxy {
//    public static final Logger LOGGER = LoggerFactory.getLogger(GetProxy.class);
//    @Autowired
//    private RedisService redisService;
//    @Autowired
//    private ConfigDataService configDataService;
//    /**
//     * 存入redis ip池
//     */
//    public synchronized boolean proxyPool(){
//        if(redisService.hasKey(Constant.IP)){
//            return true;
//        }
//        String zhiMaApiUrl = getZhiMaApiUrl();
//        String proxy = HttpUtil.get(zhiMaApiUrl.replaceAll("\r\n","")).replaceAll("\r\n","");
//        LOGGER.info("获取ip返回结果:{}",proxy);
//        if(proxy.contains("余额")||proxy.contains("秒")){
//            return false;
//        }
//        if(proxy.contains(":")){
//            redisService.set(Constant.IP,proxy);
//            return true;
//        }
//        return false;
//    }
//    public ProxyHost getProxy(){
//        Object proxy = redisService.get(Constant.IP);
//        if(proxy==null){
//            boolean b = proxyPool();
//            if(b){
//                return getProxy();
//            }
//            return null;
//        }
//        String[] split = proxy.toString().split(":");
//        ProxyHost proxyHost = new ProxyHost();
//        proxyHost.setIp(split[0]);
//        proxyHost.setPort(split[1]);
//        return proxyHost;
//    }
//
//    /**
//     * 获取api地址
//     * @return
//     */
//    public String getZhiMaApiUrl(){
//        String ipApiUrl = (String)redisService.get(Constant.IP_API_URL);
//        if(StringUtils.isBlank(ipApiUrl)){
//            Example example = new Example(ConfigData.class);
//            example.createCriteria()
//                    .andEqualTo("configKey",Constant.HTTP_API_URL)
//                    .andEqualTo("platform",0);
//            List<ConfigData> configData = configDataService.selectByExample(example);
//            if(configData!=null&&configData.size()!=0){
//                for (ConfigData configDatum : configData) {
//                    if(configDatum.getConfigKey().equals(Constant.HTTP_API_URL)){
//                        redisService.set(Constant.IP_API_URL,configDatum.getConfigValue());
//                        ipApiUrl=configDatum.getConfigValue();
//                    }
//                }
//            }
//        }
//        return ipApiUrl;
//    }
//}
